﻿#include"stdafx.h"
#ifdef LK_REFLECTION_
namespace LK
{
	namespace Reflection
	{
		ptr<Object> DynamicCall(ptr<Object>const& obj,ptr<String> const&functionName, ptr<Collection::IArray<ptr<Object>>>const &args){
			Reflection::PTypeNode tn = Reflection::GetGlobleLibrary().GetTypeNodeByInfo(obj->GetType());
			if (tn==null)Throw<PException >(L"类库中找不到指定的类型");
			Reflection::PFunctionNode node = cast<Reflection::PFunctionNode>(tn.FindNodeByNameInClass(functionName));
			if (node==null)Throw<PException >(L"类型节点中找不到指定名称的函数");
			return node.DynamicCall(obj, args);
	}

	}
}
#endif